Storage is a fundamental commodity of computation. Distributed storage mechanisms are becoming the de-facto method of data storage for the new generation of applications. The new generation of applications requires processing of terabytes and even petabytes of data. This is achieved by distributed processing. However, distributed storage systems suffer from low data transfer bandwidths and high access latencies. Various attributes, including cost, persistence, bandwidth, and latency, are traditional metrics for storage systems. However, the remarkable growth of communications and networking over has complicated what, traditionally, was a simple evaluation.